home *** CD-ROM | disk | FTP | other *** search
- ⓪ IMPLEMENTATION MODULE GEMDOS;⓪ (*$Z-,Y+,S-,N+,R-,L-*)⓪ ⓪ (*⓪ TT 20.10.91: $M- entfernt.⓪ *)⓪ ⓪ FROM SYSTEM IMPORT ASSEMBLER;⓪ FROM SYSTEM IMPORT BYTE, ADDRESS, LONGWORD, CAST;⓪ ⓪ VAR s, s2: ARRAY [0..129] OF CHAR;⓪ ⓪ PROCEDURE str0;⓪"BEGIN⓪$ASSEMBLER⓪(; in A2 wird Adr. v. ^str / HIGH (str) übergeben⓪(LEA s,A1⓪(MOVEQ #126,D1⓪(MOVE.L (A2),A0⓪(MOVE 4(A2),D0⓪(MOVE.L A1,(A2) ; ^str umsetzen auf 's'⓪(BRA y⓪(⓪%x SUBQ #1,D0⓪(BCS ok2 ; Source-Ende, Dest. muss Endmarke bekommen⓪%y MOVE.B (A0)+,(A1)+⓪(DBEQ D1,x⓪$ok2 CLR.B (A1)+⓪$END⓪"END str0;⓪ ⓪ ⓪ PROCEDURE strb0;⓪"BEGIN⓪$ASSEMBLER⓪(; in A2 wird Adr. v. ^str / HIGH (str) übergeben⓪(LEA s2,A1⓪(MOVEQ #126,D1⓪(MOVE.L (A2),A0⓪(MOVE 4(A2),D0⓪(MOVE.L A1,(A2) ; ^str umsetzen auf 's2'⓪(BRA y⓪(⓪%x SUBQ #1,D0⓪(BCS ok2 ; Source-Ende, Dest. muss Endmarke bekommen⓪%y MOVE.B (A0)+,(A1)+⓪(DBEQ D1,x⓪$ok2 CLR.B (A1)+⓪$END⓪"END strb0;⓪ ⓪ ⓪ PROCEDURE OldTerm ();⓪"BEGIN⓪$ASSEMBLER⓪(CLR -(A7)⓪(TRAP #1⓪(ADDQ.L #2,A7⓪$END⓪"END OldTerm;⓪"⓪ PROCEDURE ConIn (VAR ch: CHAR);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L -(A3),-(A7)⓪(MOVE #1,-(A7)⓪(TRAP #1⓪(ADDQ.L #2,A7⓪(MOVE.L (A7)+,A0⓪(MOVE.B D0,(A0)⓪$END⓪"END ConIn;⓪ ⓪ PROCEDURE ConScanIn (VAR ch: CHAR; VAR scan: CHAR);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L -(A3),-(A7)⓪(MOVE.L -(A3),-(A7)⓪(MOVE #1,-(A7)⓪(TRAP #1⓪(ADDQ.L #2,A7⓪(MOVE.L (A7)+,A0⓪(MOVE.B D0,(A0)⓪(MOVE.L (A7)+,A0⓪(SWAP D0⓪(MOVE.B D0,(A0)⓪$END⓪"END ConScanIn;⓪ ⓪ PROCEDURE ConOut (ch: CHAR);⓪"BEGIN⓪$ASSEMBLER⓪(SUBQ.L #1,A3⓪(MOVE.B -(A3),D0⓪(MOVE D0,-(A7)⓪(MOVE #2,-(A7)⓪(TRAP #1⓪(ADDQ.L #4,A7⓪$END⓪"END ConOut;⓪ ⓪ PROCEDURE AuxIn (VAR ch: CHAR);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L -(A3),-(A7)⓪(MOVE #3,-(A7)⓪(TRAP #1⓪(ADDQ.L #2,A7⓪(MOVE.L (A7)+,A0⓪(MOVE.B D0,(A0)⓪$END⓪"END AuxIn;⓪ ⓪ PROCEDURE AuxOut (ch: CHAR);⓪"BEGIN⓪$ASSEMBLER⓪(SUBQ.L #1,A3⓪(MOVE.B -(A3),D0⓪(MOVE D0,-(A7)⓪(MOVE #4,-(A7)⓪(TRAP #1⓪(ADDQ.L #4,A7⓪$END⓪"END AuxOut;⓪ ⓪ PROCEDURE PrnOut (ch: CHAR);⓪"BEGIN⓪$ASSEMBLER⓪(SUBQ.L #1,A3⓪(MOVE.B -(A3),D0⓪(MOVE D0,-(A7)⓪(MOVE #5,-(A7)⓪(TRAP #1⓪(ADDQ.L #4,A7⓪$END⓪"END PrnOut;⓪ ⓪ PROCEDURE RawIO (VAR ch: CHAR; rw: IOMode);⓪"BEGIN⓪$ASSEMBLER⓪(TST -(A3)⓪(BEQ rd⓪(MOVE.L -(A3),A0⓪(MOVE.B (A0),D0⓪(MOVE D0,-(A7)⓪(MOVE #6,-(A7)⓪(TRAP #1⓪(ADDQ.L #4,A7⓪(RTS⓪$rd: MOVE.L -(A3),-(A7)⓪(MOVE #$FF,-(A7)⓪(MOVE #6,-(A7)⓪(TRAP #1⓪(ADDQ.L #4,A7⓪(MOVE.L (A7)+,A0⓪(MOVE.B D0,(A0)⓪$END⓪"END RawIO;⓪ ⓪ PROCEDURE RawIn (VAR ch: CHAR);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L -(A3),-(A7)⓪(MOVE #7,-(A7)⓪(TRAP #1⓪(ADDQ.L #2,A7⓪(MOVE.L (A7)+,A0⓪(MOVE.B D0,(A0)⓪$END⓪"END RawIn;⓪ ⓪ PROCEDURE RawScanIn (VAR c: CHAR; VAR sc: CHAR);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L -(A3),-(A7)⓪(MOVE.L -(A3),-(A7)⓪(MOVE #7,-(A7)⓪(TRAP #1⓪(ADDQ.L #2,A7⓪(MOVE.L (A7)+,A0⓪(MOVE.B D0,(A0)⓪(MOVE.L (A7)+,A0⓪(SWAP D0⓪(MOVE.B D0,(A0)⓪$END⓪"END RawScanIn;⓪ ⓪ PROCEDURE NecIn (VAR ch: CHAR);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L -(A3),-(A7)⓪(MOVE #8,-(A7)⓪(TRAP #1⓪(ADDQ.L #2,A7⓪(MOVE.L (A7)+,A0⓪(MOVE.B D0,(A0)⓪$END⓪"END NecIn;⓪ ⓪ PROCEDURE ConWS (REF str: ARRAY OF CHAR);⓪"BEGIN⓪$ASSEMBLER⓪(LEA -6(A3),A2⓪(JSR str0⓪(SUBQ.L #2,A3⓪(MOVE.L -(A3),-(A7)⓪(MOVE #9,-(A7)⓪(TRAP #1⓪(ADDQ.L #6,A7⓪$END;⓪"END ConWS;⓪ ⓪ PROCEDURE ConRS (VAR str: ARRAY OF BYTE);⓪"BEGIN⓪$ASSEMBLER⓪(SUBQ.L #2,A3⓪(MOVE.L -(A3),-(A7)⓪(MOVE #10,-(A7)⓪(TRAP #1⓪(ADDQ.L #6,A7⓪$END⓪"END ConRS;⓪ ⓪ PROCEDURE ConIS (): BOOLEAN;⓪"BEGIN⓪$ASSEMBLER⓪(MOVE #11,-(A7)⓪(TRAP #1⓪(ADDQ.L #2,A7⓪(ANDI #1,D0⓪(MOVE D0,(A3)+⓪$END⓪"END ConIS;⓪ ⓪ PROCEDURE SetDrv (drive: CARDINAL; VAR used: LONGCARD);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L -(A3),-(A7)⓪(MOVE.W -(A3),-(A7)⓪(MOVE #14,-(A7)⓪(TRAP #1⓪(ADDQ.L #4,A7⓪(MOVE.L (A7)+,A0⓪(MOVE.L D0,(A0)⓪$END⓪"END SetDrv;⓪ ⓪ PROCEDURE ConOS (): BOOLEAN;⓪"BEGIN⓪$ASSEMBLER⓪(MOVE #16,-(A7)⓪(TRAP #1⓪(ADDQ.L #2,A7⓪(ANDI #1,D0⓪(MOVE D0,(A3)+⓪$END⓪"END ConOS;⓪ ⓪ PROCEDURE PrnOS (): BOOLEAN;⓪"BEGIN⓪$ASSEMBLER⓪(MOVE #17,-(A7)⓪(TRAP #1⓪(ADDQ.L #2,A7⓪(ANDI #1,D0⓪(MOVE D0,(A3)+⓪$END⓪"END PrnOS;⓪ ⓪ PROCEDURE AuxIS (): BOOLEAN;⓪"BEGIN⓪$ASSEMBLER⓪(MOVE #18,-(A7)⓪(TRAP #1⓪(ADDQ.L #2,A7⓪(ANDI #1,D0⓪(MOVE D0,(A3)+⓪$END⓪"END AuxIS;⓪ ⓪ PROCEDURE AuxOS (): BOOLEAN;⓪"BEGIN⓪$ASSEMBLER⓪(MOVE #19,-(A7)⓪(TRAP #1⓪(ADDQ.L #2,A7⓪(ANDI #1,D0⓪(MOVE D0,(A3)+⓪$END⓪"END AuxOS;⓪ ⓪ PROCEDURE GetDrv (VAR drive: CARDINAL);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE #$19,-(A7)⓪(TRAP #1⓪(ADDQ.L #2,A7⓪(MOVE.L -(A3),A0⓪(MOVE.W D0,(A0)⓪$END⓪"END GetDrv;⓪ ⓪ PROCEDURE SetDTA (dtaAddr: ADDRESS);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L -(A3),-(A7)⓪(MOVE #$1A,-(A7)⓪(TRAP #1⓪(ADDQ.L #6,A7⓪$END⓪"END SetDTA;⓪ ⓪ PROCEDURE GetDate (VAR packeddate: CARDINAL);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE #$2A,-(A7)⓪(TRAP #1⓪(ADDQ.L #2,A7⓪(MOVE.L -(A3),A0⓪(MOVE.W D0,(A0)⓪$END⓪"END GetDate;⓪ ⓪ PROCEDURE SetDate (packeddate: CARDINAL);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.W -(A3),-(A7)⓪(MOVE #$2B,-(A7)⓪(TRAP #1⓪(ADDQ.L #4,A7⓪$END⓪"END SetDate;⓪ ⓪ PROCEDURE GetTime (VAR packedtime: CARDINAL);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE #$2C,-(A7)⓪(TRAP #1⓪(ADDQ.L #2,A7⓪(MOVE.L -(A3),A0⓪(MOVE.W D0,(A0)⓪$END⓪"END GetTime;⓪ ⓪ PROCEDURE SetTime (packedtime: CARDINAL);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.W -(A3),-(A7)⓪(MOVE #$2D,-(A7)⓪(TRAP #1⓪(ADDQ.L #4,A7⓪$END⓪"END SetTime;⓪ ⓪ PROCEDURE GetDTA (VAR dtaAddr: ADDRESS);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE #$2F,-(A7)⓪(TRAP #1⓪(ADDQ.L #2,A7⓪(MOVE.L -(A3),A0⓪(MOVE.L D0,(A0)⓪$END⓪"END GetDTA;⓪ ⓪ PROCEDURE Version (VAR versionNo: CARDINAL);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE #$30,-(A7)⓪(TRAP #1⓪(ADDQ.L #2,A7⓪(MOVE.L -(A3),A0⓪(MOVE.W D0,(A0)⓪$END⓪"END Version;⓪ ⓪ PROCEDURE TermRes (keepAmount: LONGCARD; exitcode: INTEGER);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.W -(A3),-(A7)⓪(MOVE.L -(A3),-(A7)⓪(MOVE #$31,-(A7)⓪(TRAP #1⓪(ADDQ.L #8,A7⓪$END⓪"END TermRes;⓪ ⓪ PROCEDURE DFree (VAR infoblock: DiskInfoBuffer; drive1: CARDINAL);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.W -(A3),-(A7)⓪(MOVE.L -(A3),-(A7)⓪(MOVE #$36,-(A7)⓪(TRAP #1⓪(ADDQ.L #8,A7⓪$END⓪"END DFree;⓪ ⓪ PROCEDURE DirCreate (REF path: ARRAY OF CHAR): BOOLEAN;⓪"BEGIN⓪$ASSEMBLER⓪(LEA -6(A3),A2⓪(JSR str0⓪(SUBQ.L #2,A3⓪(MOVE.L -(A3),-(A7)⓪(MOVE #$39,-(A7)⓪(TRAP #1⓪(ADDQ.L #6,A7⓪(TST.L D0⓪(SPL D0⓪(ANDI #1,D0⓪(MOVE D0,(A3)+⓪$END;⓪"END DirCreate;⓪ ⓪ PROCEDURE DirDelete (REF path: ARRAY OF CHAR): BOOLEAN;⓪"BEGIN⓪$ASSEMBLER⓪(LEA -6(A3),A2⓪(JSR str0⓪(SUBQ.L #2,A3⓪(MOVE.L -(A3),-(A7)⓪(MOVE #$3A,-(A7)⓪(TRAP #1⓪(ADDQ.L #6,A7⓪(TST.L D0⓪(SPL D0⓪(ANDI #1,D0⓪(MOVE D0,(A3)+⓪$END;⓪"END DirDelete;⓪ ⓪ PROCEDURE SetPath (REF path: ARRAY OF CHAR): BOOLEAN;⓪"BEGIN⓪$ASSEMBLER⓪(LEA -6(A3),A2⓪(JSR str0⓪(SUBQ.L #2,A3⓪(MOVE.L -(A3),-(A7)⓪(MOVE #$3B,-(A7)⓪(TRAP #1⓪(ADDQ.L #6,A7⓪(TST.L D0⓪(SPL D0⓪(ANDI #1,D0⓪(MOVE D0,(A3)+⓪$END;⓪"END SetPath;⓪ ⓪ PROCEDURE Create (REF fname: ARRAY OF CHAR; mode: CARDINAL; VAR handle: INTEGER);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L -(A3),-(A7)⓪(MOVE.W -(A3),-(A7)⓪(LEA -6(A3),A2⓪(JSR str0⓪(SUBQ.L #2,A3⓪(MOVE.L -(A3),-(A7)⓪(MOVE #$3C,-(A7)⓪(TRAP #1⓪(ADDQ.L #8,A7⓪(MOVE.L (A7)+,A0⓪(MOVE.W D0,(A0)⓪$END⓪"END Create;⓪ ⓪ PROCEDURE Open (REF fname: ARRAY OF CHAR; mode: CARDINAL; VAR handle: INTEGER);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L -(A3),-(A7)⓪(MOVE.W -(A3),-(A7)⓪(LEA -6(A3),A2⓪(JSR str0⓪(SUBQ.L #2,A3⓪(MOVE.L -(A3),-(A7)⓪(MOVE #$3D,-(A7)⓪(TRAP #1⓪(ADDQ.L #8,A7⓪(MOVE.L (A7)+,A0⓪(MOVE.W D0,(A0)⓪$END⓪"END Open;⓪ ⓪ PROCEDURE Close (handle: INTEGER): BOOLEAN;⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.W -(A3),-(A7)⓪(MOVE #$3E,-(A7)⓪(TRAP #1⓪(ADDQ.L #4,A7⓪(TST.L D0⓪(SPL D0⓪(ANDI #1,D0⓪(MOVE D0,(A3)+⓪$END⓪"END Close;⓪ ⓪ PROCEDURE Read (handle: INTEGER; VAR noOfBytes: LONGCARD; buffer: ADDRESS);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L -(A3),D0⓪(MOVE.L -(A3),A0⓪(MOVE.L A0,-(A7)⓪(MOVE.L D0,-(A7)⓪(MOVE.L (A0),-(A7)⓪(MOVE.W -(A3),-(A7)⓪(MOVE #$3F,-(A7)⓪(TRAP #1⓪(ADDA.W #12,A7⓪(MOVE.L (A7)+,A0⓪(TST.L D0⓪(BMI err⓪(MOVE.L D0,(A0)⓪(RTS⓪&err:⓪(CLR.L (A0)⓪$END⓪"END Read;⓪ ⓪ PROCEDURE Write (handle: INTEGER; VAR noOfBytes: LONGCARD; buffer: ADDRESS);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L -(A3),D0⓪(MOVE.L -(A3),A0⓪(MOVE.L A0,-(A7)⓪(MOVE.L D0,-(A7)⓪(MOVE.L (A0),-(A7)⓪(MOVE.W -(A3),-(A7)⓪(MOVE #$40,-(A7)⓪(TRAP #1⓪(ADDA.W #12,A7⓪(MOVE.L (A7)+,A0⓪(TST.L D0⓪(BMI err⓪(MOVE.L D0,(A0)⓪(RTS⓪&err:⓪(CLR.L (A0)⓪$END⓪"END Write;⓪ ⓪ PROCEDURE Delete (REF fname: ARRAY OF CHAR): BOOLEAN;⓪"BEGIN⓪$ASSEMBLER⓪(LEA -6(A3),A2⓪(JSR str0⓪(SUBQ.L #2,A3⓪(MOVE.L -(A3),-(A7)⓪(MOVE #$41,-(A7)⓪(TRAP #1⓪(ADDQ.L #6,A7⓪(TST.L D0⓪(SPL D0⓪(ANDI #1,D0⓪(MOVE D0,(A3)+⓪$END;⓪"END Delete;⓪ ⓪ PROCEDURE Seek (pos: LONGINT; handle: INTEGER; mode: SeekMode;⓪0VAR newPosFromBeginning: LONGINT);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L -(A3),-(A7)⓪(MOVE.L -(A3),-(A7)⓪(MOVE.L -(A3),-(A7)⓪(MOVE #$42,-(A7)⓪(TRAP #1⓪(ADDA.W #10,A7⓪(MOVE.L (A7)+,A0⓪(MOVE.L D0,(A0)⓪$END⓪"END Seek;⓪ ⓪ PROCEDURE Attrib (REF fname: ARRAY OF CHAR; mode: TimeAccessMode; VAR attr: CARDINAL);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L -(A3),-(A7)⓪(MOVE.L (A7),A0⓪(MOVE.W (A0),-(A7)⓪(MOVE.W -(A3),-(A7)⓪(LEA -6(A3),A2⓪(JSR str0⓪(SUBQ.L #2,A3⓪(MOVE.L -(A3),-(A7)⓪(MOVE #$43,-(A7)⓪(TRAP #1⓪(ADDA.W #10,A7⓪(MOVE.L (A7)+,A0⓪(MOVE.W D0,(A0)⓪$END⓪"END Attrib;⓪ ⓪ PROCEDURE GetPath (VAR path: ARRAY OF CHAR; drive1: CARDINAL);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.W -(A3),-(A7)⓪(MOVE.W -(A3),D1⓪(MOVE.L -(A3),-(A7)⓪(MOVE #$47,-(A7)⓪(TRAP #1⓪(ADDQ.L #8,A7⓪$END⓪"END GetPath;⓪ ⓪ PROCEDURE Alloc (amount: LONGINT; VAR addr: ADDRESS);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L -(A3),-(A7)⓪(MOVE.L -(A3),-(A7)⓪(MOVE #$48,-(A7)⓪(TRAP #1⓪(ADDQ.L #6,A7⓪(MOVE.L (A7)+,A0⓪(MOVE.L D0,(A0)⓪$END⓪"END Alloc;⓪ ⓪ PROCEDURE Free (addr: ADDRESS): BOOLEAN;⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L -(A3),-(A7)⓪(MOVE #$49,-(A7)⓪(TRAP #1⓪(ADDQ.L #6,A7⓪(TST.L D0⓪(SPL D0⓪(ANDI #1,D0⓪(MOVE D0,(A3)+⓪$END⓪"END Free;⓪ ⓪ PROCEDURE Shrink (addr: ADDRESS; newAmount: LONGCARD): BOOLEAN;⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L -(A3),-(A7)⓪(MOVE.L -(A3),-(A7)⓪(CLR.W -(A7)⓪(MOVE #$4A,-(A7)⓪(TRAP #1⓪(ADDA.W #12,A7⓪(TST.L D0⓪(SPL D0⓪(ANDI #1,D0⓪(MOVE D0,(A3)+⓪$END⓪"END Shrink;⓪ ⓪ PROCEDURE Pexec ( Mode: CARDINAL; Name, Arguments, Environment: ADDRESS;⓪2VAR Result: LONGINT );⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L -(A3),-(A7)⓪(MOVE.L -(A3),-(A7)⓪(MOVE.L -(A3),-(A7)⓪(MOVE.L -(A3),-(A7)⓪(MOVE.W -(A3),-(A7)⓪(MOVE #$4B,-(A7)⓪(TRAP #1⓪(ADDA.W #16,A7⓪(MOVE.L (A7)+,A0⓪(MOVE.L D0,(A0)⓪$END⓪"END Pexec;⓪ ⓪ PROCEDURE Term (exitcode: INTEGER);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE -(A3),-(A7)⓪(MOVE #$4C,-(A7)⓪(TRAP #1⓪(ADDQ.L #4,A7⓪$END⓪"END Term;⓪ ⓪ PROCEDURE SFirst (REF fname: ARRAY OF CHAR; mode: CARDINAL; VAR res: INTEGER);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L -(A3),-(A7)⓪(MOVE.W -(A3),-(A7)⓪(LEA -6(A3),A2⓪(JSR str0⓪(SUBQ.L #2,A3⓪(MOVE.L -(A3),-(A7)⓪(MOVE #$4E,-(A7)⓪(TRAP #1⓪(ADDQ.L #8,A7⓪(MOVE.L (A7)+,A0⓪(MOVE.W D0,(A0)⓪$END⓪"END SFirst;⓪ ⓪ PROCEDURE SNext (VAR res: INTEGER);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE #$4F,-(A7)⓪(TRAP #1⓪(ADDQ.L #2,A7⓪(MOVE.L -(A3),A0⓪(MOVE.W D0,(A0)⓪$END⓪"END SNext;⓪ ⓪ PROCEDURE Rename (REF oldname, newname: ARRAY OF CHAR);⓪"BEGIN⓪$ASSEMBLER⓪(LEA -6(A3),A2⓪(JSR str0⓪(SUBQ.L #2,A3⓪(MOVE.L -(A3),-(A7)⓪(LEA -6(A3),A2⓪(JSR strb0⓪(SUBQ.L #2,A3⓪(MOVE.L -(A3),-(A7)⓪(CLR -(A7)⓪(MOVE #$56,-(A7)⓪(TRAP #1⓪(ADDA.W #12,A7⓪$END⓪"END Rename;⓪ ⓪ PROCEDURE DaTime (handle: INTEGER; dataEndTimeAddr: ADDRESS;⓪8mode: TimeAccessMode);⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.W -(A3),-(A7)⓪(MOVE.L -(A3),D0⓪(MOVE.W -(A3),-(A7)⓪(MOVE.L D0,-(A7)⓪(MOVE #$57,-(A7)⓪(TRAP #1⓪(ADDA.W #10,A7⓪$END⓪"END DaTime;⓪ ⓪ PROCEDURE Super (stack: LONGINT): LONGINT;⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L -(A3),-(A7)⓪(MOVE #$20,-(A7)⓪(TRAP #1⓪(ADDQ.L #6,A7⓪(MOVE.L D0,(A3)+⓪$END⓪"END Super;⓪ ⓪ PROCEDURE Dup ( stdHandle: INTEGER; VAR newHandle: INTEGER );⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L -(A3),-(A7)⓪(MOVE.W -(A3),-(A7)⓪(MOVE #$45,-(A7)⓪(TRAP #1⓪(ADDQ.L #4,A7⓪(MOVE.L (A7)+,A0⓪(MOVE.W D0,(A0)⓪$END⓪"END Dup;⓪"⓪ PROCEDURE Force ( stdHandle, newHandle: INTEGER ): BOOLEAN;⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L -(A3),-(A7)⓪(MOVE #$46,-(A7)⓪(TRAP #1⓪(ADDQ.L #6,A7⓪(TST.L D0⓪(SEQ D0⓪(ANDI #1,D0⓪(MOVE.W D0,(A3)+⓪$END⓪"END Force;⓪ ⓪ PROCEDURE Xalloc ( Bytes: LONGINT; mode: CARDINAL; VAR Addr: ADDRESS );⓪"BEGIN⓪$ASSEMBLER⓪(MOVE.L -(A3),-(A7)⓪(MOVE.W -(A3),-(A7)⓪(MOVE.L -(A3),-(A7)⓪(MOVE #$44,-(A7)⓪(TRAP #1⓪(ADDQ.L #8,A7⓪(MOVE.L (A7)+,A0⓪(MOVE.L D0,(A0)⓪$END⓪"END Xalloc;⓪ ⓪ END GEMDOS.⓪ ə
- (* $FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$00001FFF$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909$FFEA2909Ç$00000060T.......T.......T.......T.......T.......T.......T.......T.......T.......T.......$000033ED$000032A8$000033CD$0000340C$0000002D$00000065$FFEDA586$FFEDA586$00000060$000032FE$0000331A$00003189$0000342C$000033AB$000033C1$000033ABñÇé*)
-